// pages/login/login.js
import { volunteer_login } from '../../../utils/login_register';
import { startTokenRefresh } from '../../../utils/util';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    account: '',
    password: '',
    showError: false,
    errorMsg: '',
    rememberPassword: true
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 检查是否有保存的登录信息
    const savedAccount = wx.getStorageSync('savedAccount')
    const savedPassword = wx.getStorageSync('savedPassword')
    if (savedAccount && savedPassword) {
      this.setData({
        account: savedAccount,
        password: savedPassword
      })
    }
  },

  /**
   * 输入账号
   */
  inputAccount(e) {
    this.setData({
      account: e.detail.value,
      showError: false
    })
  },

  /**
   * 输入密码
   */
  inputPassword(e) {
    this.setData({
      password: e.detail.value,
      showError: false
    })
  },

  /**
   * 记住密码切换
   */
  toggleRemember() {
    this.setData({
      rememberPassword: !this.data.rememberPassword
    })
  },

  /**
   * 登录
   */
  login() {
    const { account, password, rememberPassword } = this.data
    // console.log(account, password, rememberPassword)

    // 校验输入
    if (!account) {
      this.setData({
        showError: true,
        errorMsg: '请输入帐号'
      })
      return
    }

    if (!password) {
      this.setData({
        showError: true,
        errorMsg: '请输入密码'
      })
      return
    }

    // 手机号格式校验
    // if (!/^1\d{10}$/.test(account)) {
    //   this.setData({
    //     showError: true,
    //     errorMsg: '请输入正确的帐号'
    //   })
    //   return
    // }

    // 显示加载中
    // wx.showLoading({
    //   title: '登录中...',
    //   mask: true
    // })
    //调用登录接口
    volunteer_login(account, password).then(res => {
      // console.log(res)
      if (res.code === 200) {
        wx.showToast({
          title: '登录成功',
          icon: 'success'
        })
        // 如果记住密码，则保存登录信息
        if (rememberPassword) {
          wx.setStorageSync('savedAccount', account)
          wx.setStorageSync('savedPassword', password)
        } else {
          wx.removeStorageSync('savedAccount')
          wx.removeStorageSync('savedPassword')
        }
        //保存用户信息
        let userInfo = {
          userid: res.loginuser.uid,
          username: res.loginuser.userName,
          role: 'Volunteer',
          token: res.token
        }
        wx.setStorage({
          key: 'userInfo',
          data: userInfo
        })
        //更新全局数据
        const app = getApp()
        app.globalData.userInfo = userInfo
        app.globalData.isLoggedIn = true
        //延时1秒
        setTimeout(() => {
          // 开始定时刷新token
          startTokenRefresh()
        }, 1000)
        //跳转到首页
        wx.redirectTo({
          url: '/pages/index/volunteerindex/volunteerindex'
        })
      } else {
        wx.showToast({
          title: '登录失败,账号或密码错误',
          icon: 'none'
        })
      }
    }).catch(err => {
      console.log(err)
    })
  },

  /**
   * 跳转到志愿者注册页面
   */
  goToRegister() {
    wx.navigateTo({
      url: '/pages/register/volunteerregister/volunteerregister'
    })
  },
  /**
  * 跳转工作人员登录页面
  */
  staffLogin() {
    wx.navigateBack({
      url: '/pages/login/login',
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
}) 